using System.ComponentModel.DataAnnotations;

namespace AiPlatformAdmin.Api.Models;

public class Team : ITenantEntity
{
    public int Id { get; set; }

    [Required]
    public int TenantId { get; set; }

    [Required]
    [MaxLength(200)]
    public string Name { get; set; } = string.Empty;

    [MaxLength(1000)]
    public string? Description { get; set; }

    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;

    public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;

    // Navigation properties
    public Tenant? Tenant { get; set; }
    public ICollection<UserTeam> UserTeams { get; set; } = new List<UserTeam>();
    public ICollection<TeamAdmin> TeamAdmins { get; set; } = new List<TeamAdmin>();
    public ICollection<KnowledgeBaseTeamAccess> KnowledgeBaseTeamAccesses { get; set; } = new List<KnowledgeBaseTeamAccess>();
    public ICollection<AgentTeamAccess> AgentTeamAccesses { get; set; } = new List<AgentTeamAccess>();
}
